#include<iostream>
using namespace std;

class Base
{
 public:
    Base():m_strData(string("xxq")){std::cout<<"Base-cout:"<<m_strData<<endl;}
    virtual ~Base(){}

    virtual void Print()
    {
         std::cout<<"Base-Print:m_strData:"<<m_strData<<endl;
    }

    virtual void AddCount(){}

 private:
    std::string m_strData;
};

class Derived:public Base
{
 public:
    Derived():m_nCount(24){std::cout<<"Derived-cout:"<<m_nCount<<endl;}
    ~Derived(){}

    virtual void Print()
    {
        std::cout<<"Derived-Print:m_nCount:"<<m_nCount<<endl;
    }

   virtual void AddCount();

private:
    int m_nCount;
};
